package com.auto.survey.measurecontroller.entity

import com.auto.survey.measurecontroller.MeasureConstants.TOTAL_LOOPS

/**
 * 测量配置类
 * 包含测量过程中的各种参数设置
 */
data class MeasureConfig(
    /** 测回数，默认为2 */
    val loopCount: Int = TOTAL_LOOPS,
    /** 是否需要测量盘左盘右，默认为true */
    val needLeftRight: Boolean = true,
    /** 最大水平角2C互差（秒），默认为10.0 */
    val maxHorizontal2C: Double = 10.0,
    /** 最大垂直角互差（秒），默认为15.0 */
    val maxVerticalDiff: Double = 15.0,
    /** 最大距离互差（毫米），默认为5.0 */
    val maxDistanceDiff: Double = 5.0,
    /** 最大总闭合差（秒），默认为30.0 */
    val maxTotalCloseError: Double = 30.0,
    /** 是否自动重试，默认为true */
    val autoRetry: Boolean = true,
    /** 最大重试次数，默认为3 */
    val retryCount: Int = 3,
    /** 测回间隔时间（秒），默认为5 */
    val loopInterval: Int = 5
)